import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 引入日期处理插件
import moment from 'moment'
// 引入axios
import axios from "@/http/http.js"

// 将moment挂载到全局
Vue.prototype.$moment = moment

// 将api.js挂载到全局
Vue.prototype.$api = require("@/http/api.js")
// 将服务端主机+地址挂到全局
Vue.prototype.$axios = axios

// 配置axios响应拦截器Response
axios.interceptors.response.use(res => {
  // 当token过期或不存在,后台返回状态码202,此时页面跳转到登录
  // if (res.status === 401) {
  //   Toast.fail("登录信息已过期,重新登录!")
  //   router.replace("/login")
  // }
  if (res?.status === 401 || (res?.status === 200 && res?.data.code === 202)) {
    Toast.fail("登录信息已过期,请重新登录!")
    router.replace({ path: "/login" })
  }
  return res
}, err => {
  return Promise.reject(err)
})


Vue.config.productionTip = false

Vue.use(ElementUI)

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
